diagonalization of matrices theorem